package com.haojin.java;

import org.junit.Test;
import sun.nio.cs.ext.GBK;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

/**
 * @author .29.
 * @create 2022-04-18 19:30
 */
/*
了解类的加载器
 */
public class ClassLoaderTest {
    @Test
    public void test1(){
        //对于自定义类，使用系统类加载器进行加载
        ClassLoader classLoader = ClassLoaderTest.class.getClassLoader();
        System.out.println(classLoader);
        //使用系统类加载器的getParent()：获取扩展类加载器
        ClassLoader classLoader1 = classLoader.getParent();
        System.out.println(classLoader1);
        //使用扩展类加载器的getParent()：无法获取引导类加载器
        //引导类加载器主要负责加载java的核心类库，无法加载自定义类
        ClassLoader classLoader2 = classLoader1.getParent();
        System.out.println(classLoader2);
    }
    /*
    Properties:用来读取配置文件。
     */
    @Test
    public void test2() throws IOException {
        Properties properties = new Properties();
//        此时的文件默认在当前的module下
//        读取配置文件的方式一：
//        FileInputStream fis = new FileInputStream("jdbc.properties");
        FileInputStream fis = new FileInputStream("src\\jdbc1.properties");
        properties.load(fis);

//        ClassLoader classLoader = ClassLoaderTest.class.getClassLoader();
//        InputStream is = classLoader.getResourceAsStream("jdbc1.properties");
//        properties.load(is);

        String user = properties.getProperty("User");
        String password = properties.getProperty("passWord");
        System.out.println("user = "+ user+",password = "+password);
    }
}
